Plus besoin de les présenter, les Facebook, Twitter, etc. sont les applications qui font le web d'aujourd'hui ! Mais s'il est évident de voir les nouveaux usages qu'elles apportent, qu'en est-il côté technologie ? Cette nouvelle race d'applications se distingue des applications
web plus traditionnelles par le format des données qu'elles manipulent. Fini les données fortement structurées ou les schémas fixes : les applications du
web de demain veulent de la flexibilité, de l'évolutivité, de la mise à l'échelle et les outils qui vont avec. Et c'est exactement le créneau de
TerraStore, un entrepôt de documents au format
JSON.
TerraStore se positionne dans la même catégorie que
CouchDB et
Cassandra de la fondation Apache, même si ces derniers endossent plus franchement le rôle de base de données. Les fonctionnalités que TerraStore propose sont celles d'un véritable entrepôt de données textuelles accessibles directement en HTTP ce qui justifie son intérêt pour des applications massivement en ligne. On plonge là au coeur du thème très en vogue du
NoSQL.
De plus, l'application est conçue sur une architecture en
cluster afin d'assurer un service sous fortes charges. Deux types de composants sont présents : le
serveur qui stocke directement les données ou plutôt leurs fragments et le
master, responsable de la répartition des données et de la charge sur les
serveurs. Une installation de TerraStore suit donc l'habituel schéma des serveurs à l'écoute du ou des maître(s) qui gère(nt) l'application en grappe. L'accent est aussi mis sur les performances réseau : les traitements sur les données sont ainsi effectués sur le serveur même qui héberge les données. Encore un point essentiel pour des applications fortement orientées
web.
Le nom de TerraStore témoigne de l'utilisation sous-jacente de
Terracotta, solution
Open Source de
clustering de JVM. Malgré cet empilement de couches, TerraStore reste d'une simplicité d'installation et d'utilisation assez déconcertante comme en témoigne
ce tutoriel de quelques lignes qui met en place un
master et deux
serveurs via
Apache Ant. Malgré sa jeunesse (version 0.4.2 en téléchargement), TerraStore présente des fonctionnalités visiblement très abouties : possibilité de monitoring via console JMX, fonctionnalités de sauvegarde des
serveurs et aussi capacité de gestion orientée évènements.
Les ambitions de solutions telles que CouchDB et TerraStore ne sont peut-être pas de révolutionner le monde des bases de données, mais l'effort reste très intéressant et prometteur. Ces solutions sont donc à surveiller, car elles pourraient être une autre preuve de la théorie de l'évolution, mais cette fois-ci dans le domaine de l'informatique.